package com.shujia.day07;

/*
    我想养一只🐕，所以先创建一个Dog类，里面有姓名和年龄的属性，吃饭和睡觉的方法
    我还想养一只🐱，猫也有姓名和年龄，也有吃饭和睡觉的方法，按照之前的做法，我们可以按照Dog类的写法再写一遍Cat类
    若我们还想养其它的动物的话，每个动物都有自己的名字和年龄，以及都会吃饭和睡觉，如果我们每一个类都写一遍的话，
    就会觉得代码重复度非常的高。
    java替我们考虑到了，我们可以使用另外一个A类，将重复的内容放到这个A类中，让B类和C类与A类，产生一个关系，
    关系一旦建立，B类和C类中，也就拥有了A类中的内容。这个关系，就是继承。
    java提供了一个关键字用来表示继承关系：extends
    写法：class B extends A{} 表示B类继承自A类
        这里的B称之为：子类，派生类
        这里的A称之为：父类，基类或者超类

    以后开发功能的时候，提倡高内聚，低耦合。
 */
class Animal{
    String name;
    int age;

    public void eat(){
        System.out.println("吃饭");
    }

    public void sleep(){
        System.out.println("睡觉");
    }
}

class Dog extends Animal {
    //子类相当于这里有一份父类中的非私有成员

    public void lookDoor(){
        System.out.println("看家");
    }
}

class Cat extends Animal{

}

public class ExtendsDemo1{
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.eat();
        dog.sleep();
        System.out.println(dog.name);
        System.out.println(dog.age);
    }
}
